package world.xuewei.model.entity;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@JsonIgnoreProperties({"handler", "hibernateLazyInitializer", "fieldHandler"})
/**
 * 订单商品关系表(OrderItem)实体类
 *
 * @author makejava
 * @since 2024-11-16 15:40:04
 */
public class OrderItem implements Serializable {
    private static final long serialVersionUID = -22037310631719686L;
    /**
     * 主键ID
     */
    private Long id;
    /**
     * 订单ID
     */
    private Long orderId;
    /**
     * 订单号
     */
    private String orderNumber;
    /**
     * 商品ID
     */
    private Long commodityId;
    /**
     * 商户ID
     */
    private Long merchantId;
    /**
     * 商品名称(快照)
     */
    private String commodityName;
    /**
     * 商品图片(快照)
     */
    private String commodityImg;
    /**
     * 商品原价(快照)
     */
    private BigDecimal originalPrice;
    /**
     * 实际购买价格
     */
    private BigDecimal purchasePrice;
    /**
     * 购买数量
     */
    private Integer quantity;
    /**
     * 小计金额
     */
    private BigDecimal subtotal;
    /**
     * 快递单号
     */
    private String courierNumber;
    /**
     * 快递公司
     */
    private String courierName;

    /**
     * 杯型
     */
    private String cupSize;

    /**
     * 糖度
     */
    private String sugarLevel;

    /**
     * 温度
     */
    private String temperature;

    /**
     * 咖啡豆
     */
    private String coffeeBean;

    /**
     * 浓度
     */
    private String intensity;

    /**
     * 规格额外费用
     */
    private BigDecimal extraPrice;

    /**
     * 发货时间
     */
    private Date shippingTime;
    /**
     * 收货时间
     */
    private Date successTime;
    /**
     * 商品状态：0-待发货 1-已发货 2-已收货 3-已退款
     */
    private Integer itemStatus;
    /**
     * 退款状态：0-无退款 1-退款中 2-已退款
     */
    private Integer refundStatus;
    /**
     * 退款金额
     */
    private Double refundAmount;
    /**
     * 退款时间
     */
    private Date refundTime;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;


}

